<?php


namespace App\Model\Enum;

use Hyperf\Constants\Annotation\Constants;

/**
 * Class OrderTransStatusEnum
 * 订单交易状态
 *
 * @package App\Model\Enum
 * @Constants()
 */
class OrderTransStatusEnum extends \App\Concern\BaseEnum {

    const __default = null;

    /**
     * 订单创建
     * @Label("order.detail.trans_status.option.init")
     */
    const INIT = 0;

    /**
     * 银行上送成功
     * @Label("order.detail.trans_status.option.bank_send_success")
     */
    const BANK_SEND_SUCCESS = 1;

    /**
     * 预授权成功
     * @Label("order.detail.trans_status.option.pre_auth_success")
     */
    const PRE_AUTH_SUCCESS = 2;

    /**
     * 业务错误(譬如未配置啥信息)
     * @Label("order.detail.trans_status.option.service_error")
     */
    const SERVICE_ERROR = 3;

    /**
     * 风控阻挡
     * @Label("order.detail.trans_status.option.risk_control_block")
     */
    const RISK_CONTROL_BLOCK = 4;

    /**
     * 上送银行交易失败
     * @Label("order.detail.trans_status.option.bank_send_error")
     */
    const BANK_SEND_ERROR = 5;

    /**
     * 支付完成银行回调通知成功
     * @Label("order.detail.trans_status.option.bank_callback_success")
     */
    const BANK_CALLBACK_SUCCESS = 6;

    /**
     * 强制失败
     * @Label("order.detail.trans_status.option.force_failure")
     */
    const FORCE_FAILURE = 7;


}
